A disk drive is a data storage device that stores servo and user data in substantially concentric tracks on a data storage disk. During disk drive operation, the disk is rotated about an axis while a transducer reads data from and/or writes data to a target track of the disk. A servo loop positions the transducer above the target track while the data transfer occurs. The servo loop uses servo data read from the disk as position feedback to maintain the transducer in a substantially centered position above the target track.
The servo data includes magnetic flux transitions such that when the transducer passes over the flux transitions the transducer generates a read signal. The read signal can be demodulated and decoded to provide a position error signal that indicates the position of the transducer relative to a track. The position error signal is used by the servo loop to correct the position of the transducer relative to the track.
Disturbances in the disk drive can increase position errors by introducing disturbance signals into the position error signal. Such disturbances can have a variable amplitude at a very narrow frequency band. For example, non-repeatable run out (NRRO) is a random disturbance due to a rocking mode excited by imperfections of balls in the disk drive spindle motor bearing. The disturbance amplitude varies from disk drive to disk drive and from time to time.
Attempts have been made to reduce the position error in the position error signal that is due to disturbances such as NRRO. In one conventional approach, a notch filter attenuates narrow-band disturbance signals in the position error signal. In order to provide adequate attenuation, the notch filter has a sharp and deep decrease in gain around the frequency of the disturbance. The amount of notch is determined empirically. However, this approach has a number of drawbacks. First, there is always a fixed level of attenuation regardless of the disturbance level, which can vary significantly. Further, the disturbance may not occur in all disk drives, and not all the time. For example, there may be more disturbance due to temperature rise or other excitation effect/force. A conventional linear disturbance signal attenuator uses a notch filter to attenuate the disturbance signal even if there is no, or minimal, disturbance. This increases position error and lowers performance.
Further, a notch filter affects the error transfer function over the entire frequency range. (The error transfer function is the frequency response that determines the position error.) Because the resulting error transfer function is distorted by the notch filter from its highly optimized original shape, the performance is worse if the targeted disturbance is not present in the position error signal. Additionally, the fixed (linear) notch filter causes ringing in the steady-state response due to the exaggerated frequency response at the notch frequency.
As a compromise, some conventional servo controllers use a notch filter with very weak attenuation (around 3 dB). However, weak attenuation is insufficient when the disturbance is large. A notch filter for attenuating disturbances is further complicated because the notch frequency can fall on a phase cross-over frequency, where robustness constraints severely limit notch design.
Another conventional approach uses a state estimator with an internal model principle to estimate a torque disturbance form. The estimator is based on Kalman filter theory, requiring that statistical characteristics be known a priori to design the filter. However, this is also a linear system that suffers from similar problems as the notch filter. Such a linear system deteriorates the performance of the servo controller if the target disturbance is very small or not present.
Accordingly, there is a need for reducing the position error in a position error signal due to narrow-band disturbance that introduces a disturbance signal in the position error signal while maintaining servo controller performance.